package com.shiguiwu.springmybatis.designpattern.builder.scene;

import com.shiguiwu.springmybatis.designpattern.builder.scene.ceilling.LevelOneCeiling;
import com.shiguiwu.springmybatis.designpattern.builder.scene.ceilling.LevelTwoCeiling;
import com.shiguiwu.springmybatis.designpattern.builder.scene.coat.DuluxCoat;
import com.shiguiwu.springmybatis.designpattern.builder.scene.coat.LiBangCoat;
import com.shiguiwu.springmybatis.designpattern.builder.scene.floor.ShengXiangFloor;
import com.shiguiwu.springmybatis.designpattern.builder.scene.tile.DongPengTile;
import com.shiguiwu.springmybatis.designpattern.builder.scene.tile.MarcoPoloTile;

/**
 * @description: 建造者类
 * @author: stone
 * @date: Created by 2021/8/15 23:47
 * @version: 1.0.0
 * @pakeage: com.shiguiwu.springmybatis.designpattern.builder.scene
 */
public class Builder {

    public IMenu levelOne(double area) {
        return new DecorationPackageMenu(area, "豪华欧式")
                .appendCeilling(new LevelTwoCeiling())
                .appendCoat(new DuluxCoat())
                .appendFloor(new ShengXiangFloor());
    }

    public IMenu levelTwo(double area) {
        return new DecorationPackageMenu(area, "轻奢⽥田园")
                .appendCeilling(new LevelTwoCeiling())
                .appendCoat(new LiBangCoat())
                .appendTile(new MarcoPoloTile());
    }


    public IMenu levelThree(double area) {
        return new DecorationPackageMenu(area, "现代简约")
                .appendCeilling(new LevelOneCeiling())
                .appendCoat(new LiBangCoat())
                .appendTile(new DongPengTile());
    }



}
